#include "mainwindow.h"
#include <QMenuBar>
#include <QToolBar>
#include <QLabel>
#include <QStatusBar>
#include <QDockWidget>
#include <QTextEdit>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{


    this->setWindowTitle("QMainWindow");
    this->resize(600, 400);


    //1.创建菜单栏, 只有一个
    QMenuBar *bar = menuBar();
    this->setMenuBar(bar);

    //2.添加菜单
    QMenu * fileMenu = bar->addMenu("文件");
    QMenu * editMenu = bar->addMenu("编辑");

    //3.添加菜单项
    QAction * newAction = fileMenu->addAction("新建");
    fileMenu->addSeparator(); //添加分割线
    QAction * openAction = fileMenu->addAction("打开");


    //工具栏, 可以有多个
    QToolBar * toolBar = new QToolBar(this);
    addToolBar(Qt::BottomToolBarArea, toolBar);
    toolBar->setFloatable(false); //设置浮动
    toolBar->setMovable(false); //设置移动, 总开关
    toolBar->addAction(newAction);
    toolBar->addSeparator();
    toolBar->addAction(openAction);


    //状态栏
    QStatusBar * stBar = statusBar();
    setStatusBar(stBar);
    QLabel *label1 = new QLabel("左侧信息");
    stBar->addWidget(label1);

    QLabel *label2 = new QLabel("右侧信息");
    stBar->addPermanentWidget(label2);


    //铆接部件  浮动窗口 可以有多个
    QDockWidget * dockWidget = new QDockWidget("aaa",this);
    addDockWidget(Qt::BottomDockWidgetArea,dockWidget);
    //设置只允许上下停靠
    dockWidget->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea);



    //核心部件 中心部件 一个
    QTextEdit *textEdit = new QTextEdit(this);
    setCentralWidget(textEdit);
}

MainWindow::~MainWindow()
{
}

